Computer storage, such as hard disk or flash memory, is typically split into several partitions. Each of these partitions store data in a specific format, commonly referred to as a file system format. It may sometimes be required to change sizes of one or more of the partitions in order to allow for more content to be stored in a particular partition, or to move content from one partition to another. In some instances, such repartitioning or reorganization may also be required in order to free storage space for performance reasons, such as with the defragmentation of a hard disk drive, or to resize file system partitions.
With many types of devices, it may also be required to update content stored in the storage units of such devices. For example, stored content may need to be updated in order to perform an upgrade or update of a software application or an operating system (OS). Such upgrades may include major updates required to fix a problem or bug, to introduce new features, or to replace an existing OS with a new OS or updated version. These upgrades typically replace existing executable files and libraries (e.g., shared libraries) corresponding to the OS or software application being upgraded. In some instances, many different types of content may need to be updated, such as text, source code, data stored in a database, etc.
Traditional techniques for reorganization of stored content may often require significant extra storage space and/or downtime for the device containing the content storage unit. In many instances, these conventional techniques may require additional storage space or as much free storage space available as the content to be reorganized, in order to store a full copy of the content. This may be a problem for devices that do not have access to a significant amount of extra storage space, such as may be the case with mobile devices, such as smart phones.
Accordingly, there is a need for a technical solution to provide the in-place repartitioning or reorganization of an original version of content in a storage device into an updated version of the content that reduces the need for backup storage.